// pages/index/index.js
import request from '../../utils/request'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    bannerList: [], // 轮播图数据
    recommendList: [], // 推荐歌单
    rankList: [], // 排行榜
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {
    // 获取轮播图数据
    let res = await request("/banner", {type: 2});
    console.log(res);

    // 获取推荐歌单数据
    let recommend = await request("/personalized", {limit: 10});
    console.log(recommend);

    // 获取排行榜数据
    let index = 0;
    let result = [];
    while(index < 5) {
      let rank = await request("/top/list", {idx: index++});
      // 因为数据量过大
      let rankObj = {name: rank.playlist.name, track: rank.playlist.tracks.slice(0, 3)};
      result.push(rankObj);
      // 不用等待五次请求发送完,用户体验好
      this.setData({
        rankList: result
      })
    }

    this.setData({
      bannerList: res.banners,
      recommendList: recommend.result,
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})